package logger

import (
	"context"
	"io"
)

// LoggerHelper 打印日志的顶层接口,有Context传入的参数，会根据配置将日志发送到远程分析程序
type LoggerHelper interface {
	Debug(msg string)
	DebugF(format string, v ...interface{})
	DebugContext(ctx context.Context, msg string)
	DebugContextF(ctx context.Context, format string, v ...interface{})
	Info(msg string)
	InfoF(format string, v ...interface{})
	InfoContext(ctx context.Context, msg string)
	InfoContextF(ctx context.Context, format string, v ...interface{})
	Warn(msg string)
	WarnF(format string, v ...interface{})
	WarnContext(ctx context.Context, msg string)
	WarnContextF(ctx context.Context, format string, v ...interface{})
	Error(msg string)
	ErrorF(format string, v ...interface{})
	ErrorContext(ctx context.Context, msg string)
	ErrorContextF(ctx context.Context, format string, v ...interface{})
	GetOutWriter() io.Writer
}
